package api

import (
	"BaseApi/common/global"
	"BaseApi/proto"
	"BaseApi/vender/jwt"
	"context"
	"github.com/gin-gonic/gin"
	"strconv"
)

// 用户登录
func UserLogin(ctx *gin.Context) {
	//调用rpc端
	name := ctx.DefaultQuery("name", "孙波")
	password := ctx.DefaultQuery("password", "111111")
	data, err := global.UserClient.UserLogin(context.Background(), &proto.LoginRequest{
		Name:     name,
		Password: password,
	})
	if err != nil {
		global.HandleGrpcErrorToHttp(err, ctx)
	}
	token := jwt.CreateToken(uint(data.Id), data.Name)
	ctx.JSON(200, gin.H{
		"msg":  "调用成功",
		"data": token,
	})
}

// 用户列表
func UserList(ctx *gin.Context) {
	//接值  -- 分页的值
	page := ctx.DefaultQuery("page", "0")
	pageSize := ctx.DefaultQuery("pageSize", "10")
	pn, err := strconv.Atoi(page)
	if err != nil {
		global.HandleGrpcErrorToHttp(err, ctx)
	}
	pnSize, err := strconv.Atoi(pageSize)
	if err != nil {
		global.HandleGrpcErrorToHttp(err, ctx)
	}
	//入参
	userList, err := global.UserClient.UserList(context.Background(), &proto.PageInfoRequest{
		Page:     int64(pn),
		PageSize: int64(pnSize),
	})
	if err != nil {
		global.HandleGrpcErrorToHttp(err, ctx)
	}
	ctx.JSON(200, gin.H{
		"msg":  "调用成功",
		"data": userList,
	})
}
